Skip to main content

例: AWS IoT Core クライアント SL ライブラリの使用

製品: CODESYS IIOT ライブラリ SL

説明

ザの AWS IoT Core Client SL Example.project 例ではの使用方法を示しています。 AWS IoT Core Client SL ライブラリ。

AWSDeviceShadow このアプリケーションでは、「デバイス シャドウ」の書き込みと読み取りの方法を示します。

AWSPubSub このアプリケーションは、含まれている機能ブロックを使用してメッセージをパブリッシュおよびサブスクライブする方法を示しています。

AWS_JSON_DeviceShadow このアプリケーションでは、JSONBuilder を使用して「デバイス シャドウ」を更新する方法を示します。

入門

クライアント証明書のインストール

クライアント証明書は、上のデバイスの認証に使用されます。 AWS IoT Core。クライアント証明書は AWS ウェブインターフェイスを介して生成し、ダウンロードして、対応するデバイスにインストールできます。

. この種の証明書を生成するには、次の 2 つの方法があります。
  • CSR ファイル(証明書署名要求)がコントローラ上に生成されます。その後、このファイルを使用して証明書が生成されます。

    これを行う方法については、次のセクションを参照してください。

  • 証明書とプライベートキーは、AWS 経由でデバイスに作成、ダウンロード、インストールされます。

    詳細については、以下を参照してください。 Import of client certificates with private key

CSR ファイルによる証明書の作成

. 準備
  • ザの CODESYS Security Agent パッケージはコンピューターにインストールする必要があります。

    詳細については、以下を参照してください。 CODESYS セキュリティエージェント

  • AWS アカウントが必要です。

手順. CSR によるクライアント証明書の作成とインポート
  1. 作成 (Thing) デバイスイン AWS IoT Core ウェブインターフェイス経由。

    () を表示および管理できますThings) 下のナビゲーションサイドパネルにあるデバイス Manage > All Devices > Things

    _ex_img_aws_iot_thing.png
  2. サンプル プロジェクトで、 AWSPubSub 応用。

  3. エンドポイントをに設定します AWSIoTClient.sHostname 入力。

    例: xxxxxxxxxxxxxxx.iot.yyyyyyyy.amazonaws.com)

    エンドポイントは、以下のナビゲーションサイドパネルにあります。 Connect > Domain configurations。必要に応じて、そこに新しいエンドポイントを作成することもできます。

  4. 以前に割り当てたデバイス名 (「モノの名前」) を次のように設定します。 AWSIoTClient.sClientId 入力。

    を使う AWSIoTClient.sCertCNPrefix 次の場合は入力してください。 ClientId ホスト名と同じです。これにより、間違った証明書 (たとえば、 WebServer)。

    ヒント

    入力が表示されない場合は、以下を実行します。 ピンをリセット コマンド。

    例:

    sCertCNPrefix := 'AWSClient', sClientId := 'MyHostname';

    証明書の「共通名」(CN) は次のとおりです。 AWSClient@MyHostname

  5. アプリケーションをコントローラーにダウンロードして起動します。

    これで、アプリケーションは AWS への暗号化された接続を確立しようとしますが、証明書がないため失敗します。とはいえ、このセットアップ実験は次の点で重要です。

  6. を設定 xEnable の旗 AWSIoTClientTRUE

  7. デバイスエディタで、 PLC シェル タブ。

  8. 以下のコマンドを実行します。

    cert-getapplist

    指定したデバイス名と番号のコンポーネントが出力に表示されます。

    注:以前に AWS への接続を確立しようとしたことがない場合(ステップ 5)、デバイスは表示されません。

  9. 以下のコマンドを実行します。

    cert-createcsr <number> encoding=Base64

    <number> をステップ8で取得した番号に置き換えてください。CSRファイルの生成には数秒かかる場合があります。

    下のデバイスエディタで ログ カテゴリ。生成後、対応するメッセージが出力されます。

    _example_img_aws_iot_core_client.png
  10. デバイスエディタで、 [ファイル] タブ。

    CSR ファイルを cert/export ディレクトリをローカル ファイル システムにコピーします。

    _example_img_aws_iot_core_clien_filest.png
  11. これで、生成された CSR ファイルを使用して AWS ウェブインターフェイスから証明書を作成できます。

    すべての証明書の管理概要には、ナビゲーションサイドパネルから次の方法でアクセスできます。 Security > Certificates

    を使う Add certificate > Create certificate コマンドを実行して、エクスポートした CSR ファイルを使用して新しい証明書を作成します。

    _ex_img_aws_iot_create_certificate.png
  12. 証明書とルート証明書をダウンロードします。

  13. CODESYS、クリック 表示 → セキュリティ画面 メニューコマンド。

  14. アンダー 独自の証明書、クライアント証明書をインストールします。

  15. アンダー 信頼できる証明書、ルート証明書をインストールします。

    _example_img_aws_iot_core_client_trusted_certificat.png
  16. クリック オンライン→コールドをリセット そしてアプリケーションを起動します。

    による新しい接続試行 AWSIoTClient これで、関数ブロックは次のように設定されます。 AWSIoTClient.xConnectedToBroker に出力する TRUE

    接続は正常に確立されました。

重要

CSR を使用して作成した証明書をコントローラからアンインストールすると、再インストールすると機能しなくなります。

これは、プライベートキーの情報がアンインストール中に削除されるためです。その場合は、デバイス用の新しい証明書を作成する必要があります。

システム要件と制限事項

プログラミングシステム

CODESYS Development System (バージョン 3.5.18.0 またはそれ以降)

ランタイムシステム

CODESYS Control Win (バージョン 3.5.18.0 またはそれ以降)

注: 無料の Device Reader プロジェクト ( CODESYS Store International) コントローラーがサポートしている機能を確認します。

アドオンコンポーネント

-

追加の要件

AWS アカウント (AWS IoT Core)

注記

_example_icon.png ダウンロード プロジェクト